// pages/profile/index.ts
Page({
  /**
   * 页面的初始数据
   */
  data: {},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    if (!getApp().userProfile.nickName) {
      // App里面没有用户资料才会去获取
      this.getUserProfile()
    } else {
      // 有, 直接从App李曼去
      this.setData({
        ...getApp().userProfile,
      })
    }
  },
  async getUserProfile() {
    let res = await wx.http.get('/userInfo')
    // console.log(res)
    this.setData({ ...res })
    // 更新到App里面去
    getApp().userProfile = {
      nickName: res.nickName,
      avatar: res.avatar,
    }
  },
  async getUserNickname(event) {
    await wx.http.put('/userInfo', { nickName: event.detail.value })
    wx.utils.toast('更新成功', 'success')
    this.setData({ nickName: event.detail.value })
    // 更新到App里面
    getApp().userProfile.nickName = event.detail.value
  },
  updateAvatar({ detail }) {
    wx.uploadFile({
      url: wx.http.baseURL + '/upload',
      filePath: detail.avatarUrl,
      header: {
        Authorization: 'Bearer ' + getApp().token
      },
      name: 'file',
      formData: {
        type: 'avatar',
      },
      success: ({ data }) => {
        const res = JSON.parse(data)
        if (res.code === 10000) {
          this.setData({
            avatar: res.data.url,
          })
          getApp().userProfile.avatar = res.data.url
        } else {
          // 失败
          wx.utils.toast(res.message, 'fail')
        }
      },
      fail: (error) => {
        console.log(error)
      },
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
})
